Перейти к основному содержимому

Чек-лист самопроверки

Разработчику Аналитику Тестировщику
Архитектору Инженеру

Чек-лист самопроверки

  1. Выбрана ли РСУБД с учётом лицензирования, поддержки ОС, требований к ресурсам и экосистемы?
  2. Создан ли отдельный непривилегированный пользователь ОС для запуска службы СУБД?
  3. Запрещён ли запуск СУБД от имени root / LocalSystem?
  4. Открыт ли в брандмауэре только необходимый порт, ограниченный по IP-адресам источника?
  5. Выделена ли отдельная подсеть или VLAN для трафика репликации и администрирования?
  6. Инициализирован ли кластер PostgreSQL явно через initdb с указанием кодировки и локали?
  7. Создана ли база данных Oracle через DBCA или вручную, а не только установлено ПО?
  8. Используется ли именованный экземпляр SQL Server в production?
  9. Выполнен ли скрипт mysql_secure_installation сразу после установки MySQL?
  10. Указаны ли в postgresql.conf параметры listen_addresses и port явно?
  11. Настроен ли pg_hba.conf с конкретными правилами вместо trust или md5 по умолчанию?
  12. Включён ли в Oracle режим ARCHIVELOG?
  13. Выбрана ли в SQL Server модель восстановления FULL для возможности PITR?
  14. Включены ли в MySQL бинарные логи (log_bin = ON) и установлен binlog_format = ROW?
  15. Настроены ли параметры памяти (shared_buffers, innodb_buffer_pool_size, SGA_TARGET, max server memory) с учётом доступной ОЗУ и других процессов?
  16. Расположены ли журналы транзакций (WAL, Redo, Transaction Log, Binary Log) на отдельном физическом диске от файлов данных?
  17. Используются ли SSD (предпочтительно NVMe) для файлов данных и журналов?
  18. Отключена ли антивирусная проверка в реальном времени для каталогов данных и логов СУБД?
  19. Используется ли файловая система XFS или ext4 с опцией noatime на Linux?
  20. Применяется ли терминальный клиент (psql, sqlplus, sqlcmd, mysql) для администрирования?
  21. Настроено ли локальное подключение без использования пароля только для начальной настройки?
  22. Заменены ли локальные методы аутентификации (peer, auth_socket) на контролируемые после создания сервисных аккаунтов?
  23. Разрешён ли удалённый доступ только с конкретных IP-адресов приложений и административных хостов?
  24. Используется ли современный метод хеширования пароля (scram-sha-256, caching_sha2_password)?
  25. Создана ли отдельная база данных для каждого приложения?
  26. Создан ли отдельный пользователь/роль для каждого приложения?
  27. Назначены ли приложению только необходимые привилегии (SELECT, INSERT, UPDATE, DELETE) без DROP, ALTER, CREATE USER?
  28. Используются ли роли для группировки привилегий вместо назначения прав напрямую пользователям?
  29. Запрещено ли использование учётных записей postgres, sa, root, SYS в коде приложения?
  30. Настроено ли шифрование соединений через SSL/TLS?
  31. Включено ли аудирование критических операций (создание/удаление объектов, изменение привилегий)?
  32. Настраивается ли аудит на внешнее хранилище, недоступное для локального администратора?
  33. Мониторятся ли активные сеансы через системные представления (pg_stat_activity, v$session, sys.dm_exec_sessions, information_schema.processlist)?
  34. Анализируются ли блокировки и ожидания для выявления «висящих» транзакций?
  35. Проверяются ли журналы ошибок СУБД ежедневно или через систему мониторинга?
  36. Выполняется ли регулярное обновление статистики (ANALYZE, DBMS_STATS, UPDATE STATISTICS)?
  37. Настроено ли автоматическое обслуживание (автовакуум, планы обслуживания, события)?
  38. Существует ли стратегия резервного копирования, соответствующая требованиям RPO и RTO?
  39. Выполняются ли полные бэкапы регулярно (ежедневно/еженедельно)?
  40. Используются ли инкрементальные или дифференциальные бэкапы для снижения объёма и времени?
  41. Автоматизировано ли выполнение бэкапов через cron, Task Scheduler или встроенные средства?
  42. Логируются ли результаты выполнения бэкапов (успех/ошибка, объём, время)?
  43. Проверяется ли целостность резервных копий (например, через RESTORE VERIFYONLY)?
  44. Хранятся ли резервные копии вне основного сервера (сетевое хранилище, облако)?
  45. Реализован ли механизм Point-in-Time Recovery (PITR) через архивирование журналов?
  46. Настроена ли физическая репликация для отказоустойчивости?
  47. Используются ли реплики для масштабирования запросов на чтение?
  48. Настроен ли мониторинг задержки репликации (replication lag)?
  49. Протестирован ли сценарий аварийного переключения (failover) на реплику?
  50. Профилируется ли производительность системы под нагрузкой, близкой к production, с использованием EXPLAIN, AWR, DMVs или аналогов?

Освоение главы0%